//进程A读取进程B写的内容
#include "comm.hpp"

int main()
{
  Init init;
    log.Enable(CLASSFILE);
    //打开管道文件
    int fd=open(FIFOFILE_NAME,O_RDONLY);//因为A只做读取工作
    if(fd<0)
    {
        log(Fatal,"open file !! erromessage:%s  error code: %d",strerror(errno),errno);
        exit(3);
    }
    log(Debug,"processA open done!!  erromessage:%s  error code: %d",strerror(errno),errno);

   
    //开始通信
    char buffer[SIZE]={0};
    while(true)
    {
      ssize_t n=  read(fd,buffer,sizeof(buffer));
      if(n>0)
      {
        buffer[n]='\0';//读到了把n位置写入'\0'打印结束标识符
        printf("%s\n",buffer);
      }
      else if(n==0)
      {
      log(Info,"写端关闭，读取到文件末尾 !! erromessage:%s  error code: %d",strerror(errno),errno);

        //printf("写端关闭，读取到文件末尾！！\n");
        break;//退出
      }
      else 
      break;//读取失败
    }
    //关闭文件
    close(fd);
    return 0;
}